package cn.px.zly.sf.ienum;

import cn.px.core.common.enums.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author 品讯科技
 * @date 2024-08
 */
@Getter
@AllArgsConstructor
public enum SfOpCodeEnum implements BaseEnum {
    SF_50(50,"顺丰已收件"),
    SF_51(51,"一票多件的子件"),
    SF_54(54,"上门收件"),
    SF_30(30,"快件在【XXX营业点】已装车,准备发往 【XXX集散中心】"),
    SF_31(31,"快件到达 【XXX集散中心】"),
    SF_302(302,"车辆发车"),
    SF_304(304,"离开经停点"),
    SF_3036(3036,"快件在XXX ,准备送往下一站"),
    SF_33(33,"派件异常原因"),
    SF_34(34,"滞留件出仓"),
    SF_36(36,"封车操作"),
    SF_10(10,"办事处发车/中转发车/海关发车/机场发货"),
    SF_105(105,"航空起飞"),
    SF_106(106,"航空落地"),
    SF_11(11,"办事处到车/中转到车/海关到车/机场提货"),
    SF_122(122,"加时区域派件出仓"),
    SF_123(123,"快件正送往顺丰店/站"),
    SF_125(125,"快递员派件至丰巢"),
    SF_126(126,"快递员取消派件将快件取出丰巢"),
    SF_127(127,"寄件客户将快件放至丰巢"),
    SF_128(128,"客户从丰巢取件成功"),
    SF_129(129,"快递员从丰巢收件成功"),
    SF_130(130,"快件到达顺丰店/站"),
    SF_131(131,"快递员从丰巢收件失败"),
    SF_135(135,"信息记录"),
    SF_136(136,"落地配装车"),
    SF_137(137,"落地配卸车"),
    SF_138(138,"用户自助寄件"),
    SF_14(14,"货件已放行"),
    SF_140(140,"国际件特殊通知"),
    SF_141(141,"预售件准备发运"),
    SF_147(147,"整车在途"),
    SF_15(15,"海关查验"),
    SF_151(151,"分配师傅"),
    SF_152(152,"师傅预约"),
    SF_153(153,"师傅提货"),
    SF_154(154,"师傅上门"),
    SF_16(16,"正式报关待申报"),
    SF_17(17,"海关待查"),
    SF_18(18,"海关扣件"),
    SF_186(186,"KC装车"),
    SF_187(187,"KC卸车"),
    SF_188(188,"KC揽收"),
    SF_189(189,"KC快件交接"),
    SF_190(190,"无人车发车"),
    SF_201(201,"准备拣货"),
    SF_202(202,"出库"),
    SF_205(205,"仓库内操作-订单审核"),
    SF_206(206,"仓库内操作-拣货"),
    SF_208(208,"代理交接"),
    SF_211(211,"星管家派件交接"),
    SF_212(212,"星管家派送"),
    SF_214(214,"星管家收件"),
    SF_215(215,"星管家退件给客户"),
    SF_405(405,"船舶离港"),
    SF_406(406,"船舶到港"),
    SF_407(407,"接驳点收件出仓"),
    SF_41(41,"交收件联(二程接驳收件)"),
    SF_43(43,"收件入仓"),
    SF_46(46,"二程接驳收件"),
    SF_47(47,"二程接驳派件"),
    SF_570(570,"铁路发车"),
    SF_571(571,"铁路到车"),
    SF_604(604,"CFS清关"),
    SF_605(605,"运力抵达口岸"),
    SF_606(606,"清关完成"),
    SF_607(607,"代理收件"),
    SF_611(611,"理货异常"),
    SF_612(612,"暂存口岸待申报"),
    SF_613(613,"海关放行待补税"),
    SF_614(614,"清关时效延长"),
    SF_619(619,"检疫查验"),
    SF_620(620,"检疫待查"),
    SF_621(621,"检疫扣件"),
    SF_623(623,"海关数据放行"),
    SF_626(626,"到转第三方快递"),
    SF_627(627,"寄转第三方快递"),
    SF_630(630,"落地配派件出仓"),
    SF_631(631,"新单退回"),
    SF_632(632,"储物柜交接"),
    SF_633(633,"港澳台二程接驳收件"),
    SF_634(634,"港澳台二程接驳派件"),
    SF_64(64,"晨配转出"),
    SF_642(642,"门市/顺丰站快件上架"),
    SF_643(643,"门市/顺丰站快件转移"),
    SF_646(646,"包装完成"),
    SF_647(647,"寄方准备快件中"),
    SF_648(648,"快件已退回/转寄,新单号为: XXX"),
    SF_649(649,"代理转运"),
    SF_65(65,"晨配转入"),
    SF_651(651,"SLC已揽件"),
    SF_655(655,"合作点收件"),
    SF_656(656,"合作点交接给顺丰"),
    SF_657(657,"合作点从顺丰交接"),
    SF_658(658,"合作点已派件"),
    SF_66(66,"中转批量滞留"),
    SF_660(660,"合作点退件给客户"),
    SF_664(664,"客户接触点交接"),
    SF_676(676,"顺PHONE车"),
    SF_677(677,"顺手派"),
    SF_678(678,"快件到达驿站"),
    SF_679(679,"驿站完成派件"),
    SF_70(70,"由于XXX原因 派件不成功"),
    SF_700(700,"拍照收件"),
    SF_701(701,"一票多件拍照收件"),
    SF_72(72,"标记异常"),
    SF_75(75,"混建包复核"),
    SF_77(77,"中转滞留"),
    SF_830(830,"出库"),
    SF_831(831,"入库"),
    SF_833(833,"滞留件入仓"),
    SF_84(84,"重量复核"),
    SF_843(843,"集收入库"),
    SF_844(844,"配送出库"),
    SF_847(847,"二程接驳"),
    SF_850(850,"集收"),
    SF_851(851,"集收"),
    SF_86(86,"晨配装车"),
    SF_87(87,"晨配卸车"),
    SF_870(870,"非正常派件"),
    SF_88(88,"外资航空起飞"),
    SF_880(880,"上门派件"),
    SF_890(89,"外资航空落地"),
    SF_900(900,"订舱路由"),
    SF_921(921,"晨配在途"),
    SF_930(930,"外配装车"),
    SF_931(931,"外配卸车"),
    SF_932(932,"外配交接"),
    SF_933(933,"外配出仓"),
    SF_934(934,"外配异常"),
    SF_935(935,"外配签收"),
    SF_950(950,"快速收件"),
    SF_96(96,"整车发货"),
    SF_97(97,"整车签收"),
    SF_98(98,"代理路由信息"),
    SF_99(99,"应客户要求,快件正在转寄中"),
    SF_44(44,"正在派送途中,请您准备签收(派件人:XXX,电话:XXX)"),
    SF_204(204,"派件责任交接"),
    SF_80(80,"已签收,感谢使用顺丰,期待再次为您服务"),
    SF_8000(8000,"在官网 运单资料&签收图 ,可查看签收人信");

    private int num;
    private String name;

    public static SfOpCodeEnum valueOf(int num){
        SfOpCodeEnum[] values = SfOpCodeEnum.values();
        for (SfOpCodeEnum opCode : values) {
            if(opCode.getNum() == num){
                return opCode;
            };
        }
        return null;
    }
}
